package com.kun.service.service;

import com.kun.dto.PageTable;
import com.kun.dto.ProcessInstanceDto;
import org.activiti.engine.runtime.ProcessInstance;

import java.util.List;

public interface IProcessInstanceService {

    /**
     * 分页查询流程定义
     */
    PageTable pageList(ProcessInstanceDto processInstance);

    /**
     * 启动流程实例
     */
    boolean startInstance(String processDefinitionKey, String name);

    /**
     * 在集合中根据ID查询指定流程实例
     */
    ProcessInstance findProcessInstanceById(List<ProcessInstance> processInstanceVoList, String processInstanceId);

    /**
     * 修改流程实例状态
     */
    boolean updateStatus(String id);

    /**
     * 删除流程实例
     */
    boolean deleteById(String instanceId);

    /**
     * 获取所有的流程实例
     */
    List<org.activiti.engine.runtime.ProcessInstance> getInstanceList();
}
